﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace GerTestes.Especificao
{
    public partial class CasoUso : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                carregarProjetos();
            }
        }

        private void carregarProjetos()
        {
            ddlProjeto.Items.Clear();
            DataTable dtProjetos = ControlClass.CNProjetos.getProjetos("");
            DataView dtProjetosAtivos = dtProjetos.AsDataView();
            dtProjetosAtivos.RowFilter = "ATIVO = 'S' ";
            ddlProjeto.DataValueField = "ID_PROJETO";
            ddlProjeto.DataTextField = "DESCRICAO";
            ddlProjeto.DataSource = dtProjetosAtivos.ToTable();
            ddlProjeto.DataBind();
            ddlProjeto.Items.Insert(0, "Selecione");
        }

        private void carregarModulos()
        {
            ddlModulo.Items.Clear();
            ddlSubModulo.Items.Clear();
            ddlCasoRequisito.Items.Clear();
            gvwCasosUso.Visible = false;
            btnIncluir.Visible = false;
            if (ddlProjeto.SelectedIndex > 0)
            {
                int pProjeto = Convert.ToInt32(ddlProjeto.SelectedValue);
                ddlModulo.DataValueField = "ID_MODULO";
                ddlModulo.DataTextField = "DESCRICAO";
                DataTable dtModulos = ControlClass.CNModulos.getModulos(pProjeto);
                DataView dtModulosAtivos = dtModulos.AsDataView();
                dtModulosAtivos.RowFilter = "ATIVO = 'S' ";
                ddlModulo.DataSource = dtModulosAtivos.ToTable();
                ddlModulo.DataBind();
                ddlModulo.Items.Insert(0, "Selecione");
            }
        }

        private void carregarSubModulos()
        {
            ddlSubModulo.Items.Clear();
            gvwCasosUso.Visible = false;
            btnIncluir.Visible = false;
            if (ddlModulo.SelectedIndex > 0)
            {
                int pModulo = Convert.ToInt32(ddlModulo.SelectedValue);
                ddlSubModulo.DataValueField = "ID_SUBMODULO";
                ddlSubModulo.DataTextField = "DESCRICAO";
                DataTable dtSubModulos = ControlClass.CNSubModulos.getSubModulos(pModulo);
                DataView dtSubModulosAtivos = dtSubModulos.AsDataView();
                dtSubModulosAtivos.RowFilter = "ATIVO = 'S' ";
                ddlSubModulo.DataSource = dtSubModulosAtivos.ToTable();
                ddlSubModulo.DataBind();
                ddlSubModulo.Items.Insert(0, "Selecione");
            }
        }

        private void carregarCasosRequisito()
        {
            int pSubModulo = Convert.ToInt32(ddlSubModulo.SelectedValue);
            ddlCasoRequisito.DataValueField = "ID_CASO_REQUISITO";
            ddlCasoRequisito.DataTextField = "DESCRICAO";
            DataTable dtCasosRequisito = ControlClass.CNCasosRequisito.getCasosRequisito(pSubModulo);
            DataView dtdtCasosRequisitoAtivos = dtCasosRequisito.AsDataView();
            dtdtCasosRequisitoAtivos.RowFilter = "ATIVO = 'S' ";
            ddlCasoRequisito.DataSource = dtdtCasosRequisitoAtivos.ToTable();
            ddlCasoRequisito.DataBind();
            ddlCasoRequisito.Items.Insert(0, "Selecione");
            
        }

        protected void ddlProjeto_SelectedIndexChanged(object sender, EventArgs e)
        {
            carregarModulos();
        }

        protected void ddlModulo_SelectedIndexChanged(object sender, EventArgs e)
        {
            carregarSubModulos();
        }

        protected void ddlSubModulo_SelectedIndexChanged(object sender, EventArgs e)
        {
            carregarCasosRequisito();
        }

        protected void btnIncluir_Click(object sender, EventArgs e)
        {

        }
    }
}